const express = require('express');
const fs = require('fs');
const path = require('path');
// 引入 Mogondb 包
const Mongodb = require('./04-mongodb');

// 调用 express 自带的路由配置
const router = express.Router();

// 进行路由操作
router
  // 渲染静态页面
  .get('/',(req,res) => {
    Mongodb.find((err,students) => {
      res.render('index.html',{
        list:students
      })
    })
  })

  // 添加学生
  .get('/add',(req,res) => {
    // 渲染添加页面
    res.render('add.html')
  })
  .post('/add',(req,res) => {
    const body = req.body
    new Mongodb(body).save((err,student) => {
      if(err){
        console.log(err.message);
      }
      // 服务区重定向首页
      res.redirect('/')
    })
  })

  // 修改学生
  .get('/edit',(req,res) => { 
    // 查询一个
    Mongodb.findOne({
      _id: req.query.id
    },(err,student) => {
      if(err){
        console.log(err.message);
      }
      res.render('edit.html',{
        message: student
      })
      // console.log(student);
    })
    
  })
  .post('/edit',(req,res) => {
    const body = req.body
    // 根据 id 更新数据
    Mongodb.findByIdAndUpdate(body.id,body,(err,student) => {
      if(err){
        console.log(err.message);
      }
      res.redirect('/')
    })
  })

  // 删除学生
  .get('/delete',(req,res) => {
    // res.setHeader('Access-Control-Alow-Methods','DELETE')
    Mongodb.findByIdAndDelete(req.query.id,(err) => {
      if(err){
        console.log(err.message);
      }
      res.redirect('/')
    })
  })

  // 向外暴露
module.exports = router